package com.hyperboost.mapper;

import com.hyperboost.dto.SharePageQueryDto;
import com.hyperboost.entity.FrontUser;
import com.hyperboost.vo.ShareVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface UserMapper {

    /**
     * 根据用户名查询用户信息
     *
     * @param username
     * @return FrontUser
     */
    FrontUser getByUsername(String username);

    /**
     * 注册用户
     *
     * @param frontUser
     */
    void register(FrontUser frontUser);

    /**
     * 根据用户ID查询用户信息
     *
     * @param userId
     * @return
     */
    FrontUser getUserByUserId(Long userId);

    /**
     * 更新用户信息
     *
     * @param frontUser
     */
    void update(FrontUser frontUser);

    /**
     * 更新用户密码
     *
     * @param frontUser
     */
    void password(FrontUser frontUser);

    /**
     * 分页查询用户自己分享
     *
     * @param sharePageQueryDto
     * @return
     */
    List<ShareVo> getAllPageShareByUserId(SharePageQueryDto sharePageQueryDto, Long userId);
}
